package cn.jiyun.service;

import cn.jiyun.dao.domain.Role;
import cn.jiyun.service.dto.JsonRes;
import cn.jiyun.commons.vo.BootstrapTableData;

import java.util.List;
import java.util.Map;

public interface RoleService {
    /**
     * 根据角色id查询角色信息
     *
     * @param roleid 角色id
     * @return 找不到返回null
     */
    Role findRole(Integer roleid);

    /**
     * 按条件分页查询角色集合并按照指定字段按照指定方式排序
     *
     * @param rolename  角色名称，进行模糊查询，可以为null
     * @param ordername 排序的字段
     * @param order     排序的方式 asc|desc
     * @param offset    查询偏移量，0表示从第一条开始查询
     * @param limit     每次查询多少条记录
     * @return bootstrap表格数据的封装类
     */
    BootstrapTableData getPaginatedRoleList(String rolename, String ordername, String order, Integer offset, Integer limit);

    /**
     * 新增角色
     *
     * @param role
     * @return 如果新增角色成功，返回true，否则false
     */
    boolean saveRole(Role role) throws Exception;

    /**
     * 修改角色，注意只能对用户提交的字段进行修改，其他字段不修改
     *
     * @param role
     * @return 如果修改成功，返回true，否则false
     */
    boolean updateRole(Role role) throws Exception;

    /**
     * 支持批量删除角色的方法
     *
     * @param roleids
     * @return 删除成功返回true，否则false
     */
    boolean deleteRole(List<Integer> roleids) throws Exception;




}
